package io.github.wslxm.springbootplus2.gateway;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

/**
 * AOP 过滤器
 * <P>
 *    提供给外部程序使用, 可以在 SysAspect aop 执行前/执行后处理相关逻辑
 * </P>
 * @author 王松
 * @mail 1720696548@qq.com
 * @date 2024/9/30 13:08
 */
public interface AopExtendFilter {

    /**
     *  aop 代码执行前
     * @date 2024/9/30 13:11
     * @return io.github.wslxm.springbootplus2.gateway.AopExtendFilter
     */
    void front(HttpServletRequest request, HttpServletResponse response);

    /**
     *  方法执行前
     * @date 2024/9/30 13:11
     * @return io.github.wslxm.springbootplus2.gateway.AopExtendFilter
     */
    void methodFront(HttpServletRequest request, HttpServletResponse response);

    /**
     *  方法执行后
     * @date 2024/9/30 13:11
     * @return io.github.wslxm.springbootplus2.gateway.AopExtendFilter
     */
    void methodAfter(HttpServletRequest request, HttpServletResponse response);

    /**
     *  aop 代码执行后
     * @date 2024/9/30 13:11
     * @return io.github.wslxm.springbootplus2.gateway.AopExtendFilter
     */
    void after(HttpServletRequest request, HttpServletResponse response);

}
